package br.com.salao.rest;

import java.util.List;

import javassist.NotFoundException;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import br.com.salao.bean.Endereco;
import br.com.salao.model.EnderecoModel;

@Path("/endereco")
public class EnderecoService {
	
	@GET
	@Path("/{logradouro}/{numero}")	
	@Produces({MediaType.APPLICATION_JSON})
	public Endereco buscarEnderecoPorLogradouro(@PathParam("logradouro")String logradouro, @PathParam("numero") String numero){
		
		Endereco endereco = new Endereco();
		endereco.setLogradouro(logradouro);
		endereco.setNumero(numero);
		
		EnderecoModel model = new EnderecoModel();
		return model.buscarEnderecoPorLogradouro(endereco);
	}
	
	@GET
	@Path("/bairro/{idBairro}")	
	@Produces({MediaType.APPLICATION_JSON})
	public List<Endereco> buscarEnderecoPorIdBairro(@PathParam("idBairro")int idBairro) throws NotFoundException{	
		
		EnderecoModel model = new EnderecoModel();
		List<Endereco> enderecos = model.buscarEnderecoPorIdBairro(idBairro);	
		
		if(enderecos == null){
			throw new NotFoundException("Endereco nao encontrado");
		}
		
		return enderecos;
	}	
	
	@GET
	@Path("/estabelecimento/{idEstabelecimento}")	
	@Produces({MediaType.APPLICATION_JSON})
	public Endereco buscarEnderecoPorIdEstabelecimento(@PathParam("idEstabelecimento")int idEstabelecimento) throws NotFoundException{
		
		EnderecoModel enderecoModel = new EnderecoModel();
		Endereco endereco = enderecoModel.buscarEnderecoPorIdEstabelecimento(idEstabelecimento);
		
		if(endereco == null){
			throw new NotFoundException("Endereco nao encontrado");
		}
		
		return endereco;
		
	}

}
